package cn.kuporo.seckill.activity.domain.repository;

import cn.kuporo.seckill.activity.domain.model.SeckillActivity;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @author: kuporo
 * @since: 2025/7/7
 * @description:
 */
public interface SeckillActivityRepository {
    /**
     * 保存活动信息
     */
    int saveSeckillActivity(SeckillActivity seckillActivity);

    /**
     * 根据状态获取活动列表
     */
    List<SeckillActivity> getSeckillActivityList(Integer status);

    /**
     * 根据时间和状态获取活动列表
     */
    List<SeckillActivity> getSeckillActivityListBetweenStartTimeAndEndTime(LocalDateTime currentTime, Integer status);

    /**
     * 根据id获取活动信息
     */
    SeckillActivity getSeckillActivityById(Long id);

    /**
     * 修改活动状态
     * @param id 活动id
     * @param status 活动状态
     */
    int updateStatus(Long id, Integer status);
}
